using Digitalmes.Application.Mes.Masters.Materials;

namespace Digitalmes.Application.Mes.Processes.StepMaterials;

/// <summary>
/// 工序物料 DTO 对象。
/// </summary>
public sealed class ProcStepMaterialDto : Dto
{
    /// <summary>
    /// 关联的工艺步骤 ID
    /// </summary>
    public long StepId { get; set; }

    /// <summary>
    /// 物料 Id
    /// </summary>
    public long MaterialId { get; set; }

    /// <summary>
    /// 物料
    /// </summary>
    public MdMaterialDto? Material { get; set; }

    /// <summary>
    /// 使用数量。
    /// </summary>
    public int Qty { get; set; }

    /// <summary>
    /// 上料顺序号，0 表示不需要按顺序上料。
    /// </summary>
    public int Seq { get; set; }

    /// <summary>
    /// 是否检查物料来源
    /// </summary>
    public bool IsCheckSource { get; set; }

    /// <summary>
    /// 校验物料来源产线 Id 集合，不设置则为 null。
    /// </summary>
    public long[]? SourceLineIds { get; set; }

    public string? CreatedBy { get; set; }

    public DateTime CreatedTime { get; set; }

    public string? UpdatedBy { get; set; }

    public DateTime? UpdatedTime { get; set; }
}
